The present invention relates to an image processing method, a recording medium, and an image processing apparatus for smoothing digital data for an input image and for removing noise.
For an image input device such as a digital still camera (hereinafter referred to as digital cameras) or a scanner that use image input unit, including a CCD, the image input unit sometimes outputs not only an electric signal corresponding to the intensity of the light received, but also an unwanted electric signal. This unwanted electrical signal is included as noise in the digital data constituting an image. The occurrence of this noise tends to be especially remarkable in a low intensity luminous portion, i.e., a dark image portion.
Generally, in order to remove such noise included in an image, such a method is employed that smoothes all the digital data constituting an image, or a method is employed that uses edge information to remove the included noise.
For the removal of noise while maintaining the edge information, a method (a) for smoothing image data or for emphasizing contours in accordance with the slopes of the edges of an image; and a method (b) for detecting the direction of edges and changing smoothing ranges are presently available. Herein the slopes of the edges are the slopes of the luminance of the pixels that constitute an image.
However, according to the method (a) for smoothing the image data or for emphasizing the contours in accordance with the slopes of the edges, noise present in a flat portion wherein the amount of noise is comparatively less is also emphasized, and the image quality is deteriorated. On the other hand, according to the method (b) for detecting the direction of an edge so as to change a smoothing range, conditional branching is employed to detect the direction of the edge. Therefore, when angles used for detecting the direction of the edge are set in detail in order to increase the accuracy of the detection angles, the number of conditions imposed for the performance of the branching is increased. Therefore, it is difficult to perform fast processing such as pipeline processing. In addition, when the angles for the detection of the direction of an edge are roughly set in order to increase the processing speed, errors occur more frequently during the determination processing performed for conditional branching, and the edge tends to be blurred.
Further, the methods (a) and (b) are performed as independent functions, and there is no method for jointly implementing the functions of the two methods.